<!DOCTYPE html>
<html lang="en">
    <head>
        <meta charset="UTF-8">
        <meta http-equiv="X-UA-Compatible" content="IE=edge">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <title>Document</title>
    </head>
    <body>
        
    </body>
    <script>
        /* 
        Promise是es6引入的异步编程的新解决方案
            语法上Promise是一个构造函数,用来封装异步操作并可以获取其他成功或失败的结果.
            1.Promise构造函数:Promise(excutor){}
            2.promise.prototype.then  方法
            3.Promise.prototype.catch   方法

            Promise((决定,拒绝)=>{})
            resolve,reject本身也是函数
        */ 

        //实例化  Promise  对象
        const p = new Promise(function(resolve,reject){
            setTimeout(()=>{
                
                /* // resolve   对象状态就变成成功
                let data = "数据库中的用户数据";
                resolve(data);// 这里调用resolve函数   接下来会调用then */
               

                // 数据发生错误  
                let err = "数据读取错误";
                reject(err); 
            },1000)
        });
        // 调用promise对象的 then方法
        p.then(function(value){
            // 成功的形参叫做value
            console.log(value);// 数据库中的用户数据
        },function(reason){
            // 失败的形参叫做reason
            console.error(reason);//数据读取错误
        });
    </script>
</html>    